package com.cskaoyan.javase.array._1use._0declaration;

/**
 * 数组的基本使用
 * 我们今天所讲的数组的使用,是在局部位置(在main方法中),定义局部变量数组
 * 既然是一个局部变量
 * 那么就需要先声明,再初始化
 *
 * 数组是一种引用数据类型,定义数组是定义了一个引用数据类型的变量.
 * 数组的声明:
 * 声明数组的两种语法格式：
 *
 * 格式一
 * 数据类型[] 数组名;
 *
 * 格式二
 * 数据类型 数组名[];
 *
 * 其中"[]"表示该数据类型是一个对应数据类型的数组类型
 * 数组名是一个变量名,应该遵循小驼峰式的命名规范.由于数组是一个容器
 *      所以如果有用名词给数组起名字,那么建议用复数形式
 *
 * 注意:
 *      1.第一种格式具有更好的可读性，可以直观的看到这个数组是一个什么数据类型的数组。
 *      2.第二种格式，是Java沿袭自C语言的一种声明方式。（C语言语法当中只有格式二声明数组）
 * 这是因为早期很多Java开发者都是C/C++开发转过来的，而且Java开发之初就是为了简化C++的。
 * 所以很多开发者在开发Java时，一时改不了使用习惯。
 * 我们在Java早期的源代码中，可以发现很多格式二的使用案例。
 * Java为了代码的兼容性考虑，不太可能会取消这一声明格式。
 * （但是像C#这种和Java同源的设计语言，已经取消了数组的声明格式二）
 *
 *      3.但是，我们毕竟不是Java开发者，而几乎所以Java规范中都禁止使用格式二定义数组。
 *      4.规范的Java代码，应该永远采用格式一来声明数组！！
 *
 * @since 11:03
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // 格式一声明一个int数组
        int[] arr;
        // 格式一声明一个String数组
        String[] arr2;

        // 格式二声明一个double数组
        // C-style array declaration of local variable 'arr3'.
        double arr3[];

        // 局部变量只有声明是不可用的,局部变量必须手动初始化才能够使用
        // System.out.println(arr);
    }
}
